package com.yuexunit.finance.member.action.v1;

import java.util.List;

import com.yuexunit.finance.context.FinVersion1;
import com.yuexunit.finance.member.action.v1.model.MonthEarningDetailInfo;
import com.yuexunit.page.PageCriteria;
import com.yuexunit.page.PageList;
import com.yuexunit.web.annotation.Action;
import com.yuexunit.web.annotation.Parameter;
import com.yuexunit.web.annotation.Permission;

public interface MonthEarningDetailApi {
	@Permission
	@Action(version = FinVersion1.class, description = "月收益详情列表")
	public PageList<MonthEarningDetailInfo> inquiryMonthEarningDetailList(
			@Parameter(name = "page", description = "分页参数") PageCriteria page,
			@Parameter(name = "year", description = "账单年", nullable = true) Integer year,
			@Parameter(name = "month", description = "账单月", nullable = true) Integer month,
			@Parameter(name = "financeNumber", description = "融资编号", nullable = true) String financeNumber,
			@Parameter(name = "productType", description = "业务类型", nullable = true) Integer productType,
			@Parameter(name = "enterpriseId", description = "企业ID", nullable = true) Long enterpriseId
	);
	
	@Permission
	@Action(version = FinVersion1.class, description = "月收益详情列表")
	public List<MonthEarningDetailInfo> inquiryMonthEarningDetailAllList(
			@Parameter(name = "year", description = "账单年", nullable = true) Integer year,
			@Parameter(name = "month", description = "账单月", nullable = true) Integer month,
			@Parameter(name = "financeNumber", description = "融资编号", nullable = true) String financeNumber,
			@Parameter(name = "productType", description = "业务类型", nullable = true) Integer productType,
			@Parameter(name = "enterpriseId", description = "企业ID", nullable = true) Long enterpriseId
	);
	
	@Permission
	@Action(version = FinVersion1.class, description = "月收益融资详情")
	public MonthEarningDetailInfo inquiryMonthEarningDetailFinance(
			@Parameter(name = "monthEarningDetailId", description = "月收益详情ID") Long monthEarningDetailId
	);
}
